home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIFrameWindowProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-07-10  |  11.1 KB  |  392 lines

  1. /************************************************************************
  2.     filename:     CEGUIFrameWindowProperties.h
  3.     created:    10/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface to properties for FrameWIndow class
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIFrameWindowProperties_h_
  27. #define _CEGUIFrameWindowProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of FrameWindowProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the FrameWindow class
  40. */
  41. namespace FrameWindowProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the state of the sizable setting for the FrameWindow.
  46.  
  47.     \par Usage:
  48.         - Name: SizingEnabled
  49.         - Format: "[text]".
  50.  
  51.     \par Where [Text] is:
  52.         - "True" to indicate the window will be user re-sizable.
  53.         - "False" to indicate the window will not be re-sizable by the user.
  54. */
  55. class SizingEnabled : public Property
  56. {
  57. public:
  58.     SizingEnabled() : Property(
  59.         "SizingEnabled",
  60.         "Property to get/set the state of the sizable setting for the FrameWindow.  Value is either \"True\" or \"False\".",
  61.         "True")
  62.     {}
  63.  
  64.     String    get(const PropertyReceiver* receiver) const;
  65.     void    set(PropertyReceiver* receiver, const String& value);
  66. };
  67.  
  68.  
  69. /*!
  70. \brief
  71.     Property to access the setting for whether the window frame will be displayed.
  72.  
  73.     \par Usage:
  74.         - Name: FrameEnabled
  75.         - Format: "[text]".
  76.  
  77.     \par Where [Text] is:
  78.         - "True" to indicate the windows frame should be displayed.
  79.         - "False" to indicate the windows frame should not be displayed.
  80. */
  81. class FrameEnabled : public Property
  82. {
  83. public:
  84.     FrameEnabled() : Property(
  85.         "FrameEnabled",
  86.         "Property to get/set the setting for whether the window frame will be displayed.  Value is either \"True\" or \"False\".",
  87.         "True")
  88.     {}
  89.  
  90.     String    get(const PropertyReceiver* receiver) const;
  91.     void    set(PropertyReceiver* receiver, const String& value);
  92. };
  93.  
  94.  
  95. /*!
  96. \brief
  97.     Property to access the setting for whether the window title-bar will be enabled (or displayed depending upon choice of final widget type).
  98.  
  99.     \par Usage:
  100.         - Name: TitlebarEnabled
  101.         - Format: "[text]".
  102.  
  103.     \par Where [Text] is:
  104.         - "True" to indicate the windows title bar should be enabled (and/or visible)
  105.         - "False" to indicate the windows title bar should be disabled (and/or hidden)
  106. */
  107. class TitlebarEnabled : public Property
  108. {
  109. public:
  110.     TitlebarEnabled() : Property(
  111.         "TitlebarEnabled",
  112.         "Property to get/set the setting for whether the window title-bar will be enabled (or displayed depending upon choice of final widget type).  Value is either \"True\" or \"False\".",
  113.         "") 
  114.     {}
  115.  
  116.     String    get(const PropertyReceiver* receiver) const;
  117.     void    set(PropertyReceiver* receiver, const String& value);
  118. };
  119.  
  120.  
  121. /*!
  122. \brief
  123.     Property to access the setting for whether the window close button will be enabled (or displayed depending upon choice of final widget type).
  124.  
  125.     \par Usage:
  126.         - Name: CloseButtonEnabled
  127.         - Format: "[text]".
  128.  
  129.     \par Where [Text] is:
  130.         - "True" to indicate the windows close button should be enabled (and/or visible)
  131.         - "False" to indicate the windows close button should be disabled (and/or hidden)
  132. */
  133. class CloseButtonEnabled : public Property
  134. {
  135. public:
  136.     CloseButtonEnabled() : Property(
  137.         "CloseButtonEnabled",
  138.         "Property to get/set the setting for whether the window close button will be enabled (or displayed depending upon choice of final widget type).  Value is either \"True\" or \"False\".",
  139.         "True")
  140.     {}
  141.  
  142.     String    get(const PropertyReceiver* receiver) const;
  143.     void    set(PropertyReceiver* receiver, const String& value);
  144. };
  145.  
  146.  
  147. /*!
  148. \brief
  149.     Property to access the setting for whether the user is able to roll-up / shade the window.
  150.  
  151.     \par Usage:
  152.         - Name: RollUpEnabled
  153.         - Format: "[text]".
  154.  
  155.     \par Where [Text] is:
  156.         - "True" to indicate the user can roll-up / shade the window.
  157.         - "False" to indicate the user can not roll-up / shade the window.
  158. */
  159. class RollUpEnabled : public Property
  160. {
  161. public:
  162.     RollUpEnabled() : Property(
  163.         "RollUpEnabled",
  164.         "Property to get/set the setting for whether the user is able to roll-up / shade the window.  Value is either \"True\" or \"False\".",
  165.         "True")
  166.     {}
  167.  
  168.     String    get(const PropertyReceiver* receiver) const;
  169.     void    set(PropertyReceiver* receiver, const String& value);
  170. };
  171.  
  172.  
  173. /*!
  174. \brief
  175.     Property to access the roll-up / shade state of the window.
  176.  
  177.     \par Usage:
  178.         - Name: RollUpState
  179.         - Format: "[text]".
  180.  
  181.     \par Where [Text] is:
  182.         - "True" to indicate the window is / should be rolled-up.
  183.         - "False" to indicate the window is not / should not be rolled up
  184. */
  185. class RollUpState : public Property
  186. {
  187. public:
  188.     RollUpState() : Property(
  189.         "RollUpState",
  190.         "Property to get/set the roll-up / shade state of the window.  Value is either \"True\" or \"False\".",
  191.         "False")
  192.     {}
  193.  
  194.     String    get(const PropertyReceiver* receiver) const;
  195.     void    set(PropertyReceiver* receiver, const String& value);
  196. };
  197.  
  198.  
  199. /*!
  200. \brief
  201.     Property to access the setting for whether the user may drag the window around by its title bar.
  202.  
  203.     \par Usage:
  204.         - Name: DragMovingEnabled
  205.         - Format: "[text]".
  206.  
  207.     \par Where [Text] is:
  208.         - "True" to indicate the window may be repositioned by the user via dragging.
  209.         - "False" to indicate the window may not be repositioned by the user.
  210. */
  211. class DragMovingEnabled : public Property
  212. {
  213. public:
  214.     DragMovingEnabled() : Property(
  215.         "DragMovingEnabled",
  216.         "Property to get/set the setting for whether the user may drag the window around by its title bar.  Value is either \"True\" or \"False\".",
  217.         "True")
  218.     {}
  219.  
  220.     String    get(const PropertyReceiver* receiver) const;
  221.     void    set(PropertyReceiver* receiver, const String& value);
  222. };
  223.  
  224.  
  225. /*!
  226. \brief
  227.     Property to access the setting for the sizing border thickness.
  228.  
  229.     \par Usage:
  230.         - Name: SizingBorderThickness
  231.         - Format: "[float]".
  232.  
  233.     \par Where:
  234.         - [float] is the size of the invisible sizing border in screen pixels.
  235. */
  236. class SizingBorderThickness : public Property
  237. {
  238. public:
  239.     SizingBorderThickness() : Property(
  240.         "SizingBorderThickness",
  241.         "Property to get/set the setting for the sizing border thickness.  Value is a float specifying the border thickness in pixels.",
  242.         "8.000000")
  243.     {}
  244.  
  245.     String    get(const PropertyReceiver* receiver) const;
  246.     void    set(PropertyReceiver* receiver, const String& value);
  247. };
  248.  
  249.  
  250. /*!
  251. \brief
  252.     Property to access the Font set for the windows title bar.
  253.  
  254.     \par Usage:
  255.         - Name: TitlebarFont
  256.         - Format: "[text]".
  257.  
  258.     \par Where:
  259.         - [text] is the name of the Font to assign for this windows title bar.  The Font specified must already be loaded.
  260. */
  261. class TitlebarFont : public Property
  262. {
  263. public:
  264.     TitlebarFont() : Property(
  265.         "TitlebarFont",
  266.         "Property to get/set the Font set for the windows title bar.  Value is the name of the font to use (must be loaded already).",
  267.         "")
  268.     {}
  269.  
  270.     String    get(const PropertyReceiver* receiver) const;
  271.     void    set(PropertyReceiver* receiver, const String& value);
  272. };
  273.  
  274. /*!
  275. \brief
  276.     Property to colour used for rendering the caption text.
  277.  
  278.     \par Usage:
  279.         - Name: CaptionColour
  280.         - Format: "aarrggbb".
  281.  
  282.     \par Where:
  283.         - aarrggbb is the ARGB colour value to be used.
  284. */
  285. class CaptionColour : public Property
  286. {
  287. public:
  288.     CaptionColour() : Property(
  289.         "CaptionColour",
  290.         "Property to get/set the colour used for rendering the caption text.  Value is \"aarrggbb\" (hex).",
  291.         "FF000000")
  292.     {}
  293.  
  294.     String    get(const PropertyReceiver* receiver) const;
  295.     void    set(PropertyReceiver* receiver, const String& value);
  296. };
  297.  
  298. /*!
  299. \brief
  300.    Property to access the N-S (up-down) sizing cursor image
  301.  
  302.    \par Usage:
  303.       - Name: NSSizingCursorImage
  304.       - Format: "set:<imageset> image:<imagename>".
  305.  
  306. */
  307. class NSSizingCursorImage : public Property
  308. {
  309. public:
  310.    NSSizingCursorImage() : Property(
  311.        "NSSizingCursorImage",
  312.        "Property to get/set the N-S (up-down) sizing cursor image for the FramwWindow.  Value should be \"set:[imageset name] image:[image name]\".",
  313.        "")
  314.    {}
  315.  
  316.    String   get(const PropertyReceiver* receiver) const;
  317.    void   set(PropertyReceiver* receiver, const String& value);
  318. };
  319.  
  320. /*!
  321. \brief
  322.    Property to access the E-W (left/right) sizing cursor image
  323.  
  324.    \par Usage:
  325.       - Name: EWSizingCursorImage
  326.       - Format: "set:<imageset> image:<imagename>".
  327.  
  328. */
  329. class EWSizingCursorImage : public Property
  330. {
  331. public:
  332.    EWSizingCursorImage() : Property(
  333.        "EWSizingCursorImage",
  334.        "Property to get/set the E-W (left-right) sizing cursor image for the FramwWindow.  Value should be \"set:[imageset name] image:[image name]\".",
  335.        "")
  336.    {}
  337.  
  338.    String   get(const PropertyReceiver* receiver) const;
  339.    void   set(PropertyReceiver* receiver, const String& value);
  340. };
  341.  
  342. /*!
  343. \brief
  344.    Property to access the NW-SE diagonal sizing cursor image
  345.  
  346.    \par Usage:
  347.       - Name: NWSESizingCursorImage
  348.       - Format: "set:<imageset> image:<imagename>".
  349.  
  350. */
  351. class NWSESizingCursorImage : public Property
  352. {
  353. public:
  354.    NWSESizingCursorImage() : Property(
  355.        "NWSESizingCursorImage",
  356.        "Property to get/set the NW-SE diagonal sizing cursor image for the FramwWindow.  Value should be \"set:[imageset name] image:[image name]\".",
  357.        "")
  358.    {}
  359.  
  360.    String   get(const PropertyReceiver* receiver) const;
  361.    void   set(PropertyReceiver* receiver, const String& value);
  362. };
  363.  
  364. /*!
  365. \brief
  366.    Property to access the NE-SW diagonal sizing cursor image
  367.  
  368.    \par Usage:
  369.       - Name: NESWSizingCursorImage
  370.       - Format: "set:<imageset> image:<imagename>".
  371.  
  372. */
  373. class NESWSizingCursorImage : public Property
  374. {
  375. public:
  376.    NESWSizingCursorImage() : Property(
  377.        "NESWSizingCursorImage",
  378.        "Property to get/set the NE-SW diagonal sizing cursor image for the FramwWindow.  Value should be \"set:[imageset name] image:[image name]\".",
  379.        "")
  380.    {}
  381.  
  382.    String   get(const PropertyReceiver* receiver) const;
  383.    void   set(PropertyReceiver* receiver, const String& value);
  384. };
  385.  
  386. } // End of  FrameWindowProperties namespace section
  387.  
  388. } // End of  CEGUI namespace section
  389.  
  390.  
  391. #endif    // end of guard _CEGUIFrameWindowProperties_h_
  392.